home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / jam / jamdisk6 / dspell.run / DSpell.DOC < prev    next >
Encoding:
Text File  |  1991-09-18  |  39.5 KB  |  1,224 lines

  1. Documentation for DSPELL version 3.1
  2.  
  3. Copyright (C) Rod Young - September 1991
  4.  
  5.  
  6. This programme is intended to be Shareware; that is:
  7.  
  8. 1)  You may copy it and distribute it in any way you feel
  9.     providing that all the release files are included,
  10.     BUT YOU MUST NOT SELL OR PROFIT FROM IT!!
  11.     (A small fee for disks and postage may be levied by
  12.     clubs, Buletin Boards etc. BUT THATS ALL!).
  13.  
  14. 2)  If you find yourself using it frequently you must
  15.     register with me at the address given at the end of
  16.     this document
  17.  
  18.     a)  If you are waged, a registration fee of, say £15.00
  19.         would seem suitable
  20.     b)  If you are unwaged, a nice letter or a bit of
  21.         your own work will suffice.
  22.     c)  If you are a business, an Institution or are just
  23.         stinking rich, just think of how much you would
  24.         have had to pay if this had been a commercial
  25.         programme, and react accordingly!
  26.  
  27. 3)  No restrictions are made if you wish to have multiple
  28.     copies, and there is no site licence rubbish to
  29.     bother with.
  30.  
  31. If you fail to comply with 1 and 2 above then your Agnes
  32. will melt with embarrasment!
  33. Compliance means free upgrades (if I make any) and reduced
  34. price copies of anything else I may come up with in the
  35. future.
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. INTRODUCTION
  43. ~~~~~~~~~~~~
  44. I have for many years now been fascinated by words, their
  45. use, misuse and construction, as a professional graphic
  46. artist responsible for the publication of seventeen
  47. quarterly and one monthly magazine, I have become
  48. increasingly alarmed by the great number of misspellings
  49. that are appearing in submitted articles, and in
  50. publications in general.
  51.  
  52. The majority of these errors are of the type termed
  53. `Americanism'. I could not really understand this
  54. considering the power of modern word-processors and their
  55. associated spell-checking programmes. That is until I
  56. started using these spell-checkers on a regular basis and
  57. found to my utter dismay that even programmes that boast
  58. UK English dictionaries actually use cut-down American
  59. ones!
  60.  
  61. You can normally catch these out with the following test:
  62.  
  63.     Skillfull   Correct US English spelling.
  64.     Skilful     Correct UK English spelling.
  65.     Skillful    Cut down dictionary version illegal in
  66.                 both countries.
  67.  
  68. This is a single and very simple example but demonstrates
  69. the American dictionary writers awareness of the single
  70. `l' double `l' difference between the two versions of our
  71. language, but their ignorance of the more subtle forms of
  72. UK English. Even WordStar and WordPerfect the so-called
  73. `industry standard' word-processors fall into this trap.
  74.  
  75. I appeal to these companies to get their act together and
  76. realise that the only persons able to correctly cut an
  77. American dictionary into UK English are those born and
  78. brought up in the language.
  79.  
  80. End of gripe and on to DSpell; the programme was written
  81. in response to MY need to check editorial from the UK,
  82. America and Europe for correct spelling. And as I was
  83. using an Amiga for recreational as well as professional
  84. work I decided to write the programme for the Amiga, and
  85. make it look like an Amiga programme despite, the fact
  86. that I was using IBMs and MACs exclusively at work (by the
  87. way, all the programmes I have used on these systems fail
  88. the above `skilful' test).
  89.  
  90. I was only programming in Basic at the time and soon
  91. realised that this was far too slow to accomplish the task
  92. in hand, so, taking a deep breath I bought Lattice C and
  93. sat down to learn `C' programming from books. It has taken
  94. over two years to complete the programme with many a visit
  95. to the`Guru' on the way, nearly 60% of this time was spent
  96. checking words against main-stream dictionaries, a long
  97. task sadly overlooked in most of the PD spelling checkers
  98. available to date, programmers should remember that a
  99. programme is only as good as its data!
  100.  
  101.  
  102. Before going on to the programmes it would be wise to
  103. remember these words:
  104.  
  105.     NOTHING WILL CATCH A WHITE WORD IN A WRONG PLAICE!!!
  106.  
  107.  
  108.  
  109. RUNNING THE PROGRAMMES
  110. ~~~~~~~~~~~~~~~~~~~~~~
  111.  
  112. Dspell is designed to be run from the CLI but you can run
  113. it from the Workbench using a program like Xicon.
  114.  
  115. Upon booting dspell will sense if you have the interlace
  116. flag set in preferences and will open in interlace mode,
  117. but only if you have over 1.5 meg of memory. Dspell needs
  118. large amounts of memory for its data files so be aware of
  119. this at all times. If you are going to be doing a lot of
  120. spell checking in one go, I advise resetting the Amiga
  121. prior to the session to clear memory. If you are low on
  122. memory try reducing or removing any background tasks you
  123. might have running, screen blankers etc. The files in this
  124. release marked LARGE are the files that I am currently
  125. using with 3 meg, they WILL NOT run on a 1 meg machine, and
  126. you might as well give up now if you only have half a meg,
  127. this programme is SERIOUS!!
  128.  
  129. The DSpell release should contain the following
  130. programmes:
  131.  
  132. DSPELL      The main spelling-checker.
  133. DSPELL.UDCT DSpell's user dictionary.
  134. DSPELL.DATA The compiled dictionary used by DSpell.
  135. DSPELL.PFX  A dictionary of prefixes and combined forms
  136.             that will be passed automatically.
  137. DSPELL.ABS  A dictionary of common abbreviations.
  138. DSPELL.BAD  A cross-checking dictionary to catch illegal
  139.             words otherwise passed in prefix checking.
  140.  
  141. DED         The ASCII dictionary editor.
  142. MAIN044.DCT The main ASCII dictionary file.
  143. DASH        The full dictionary compiler.
  144. DASH3       The `streamlined' dictionary compiler.
  145.            _
  146. DCount      |
  147. DChop       |
  148. DExpand     |
  149. FlagExp     |- Dictionary maintenance tools
  150. DoubCut     |
  151. RootStrip  _|
  152.            _
  153. Report      |
  154. Strip       |- File Tools
  155.  
  156. CURSON      A small C-programme to restore your cursor
  157.             should you abort Dash, or any tool programme
  158.             by using Ctrl-C.
  159.  
  160.  
  161. Dspell will also generate two files called DSPELL.LOG
  162. and LAST.LOG
  163.  
  164.  
  165. INSTALLATION
  166. ~~~~~~~~~~~~
  167.  
  168. Floppy Disk Users
  169. ~~~~~~~~~~~~~~~~~
  170. DSpell was developed to run on a hard disk for best
  171. results, but will run from a floppy disk, however the load
  172. times for the dictionaries and document will be
  173. considerably longer.
  174.  
  175. DSpell looks for its dictionary files on the logical
  176. device DSpell:, if you are running from a single floppy
  177. disk it must be named DSpell and these programmes must be
  178. on it as well as DSpell itself.
  179.  
  180. If you have two drives I suggest that you have a separate
  181. disk called DSpell for the dictionary files, and another
  182. (called anything you like except DSpell) for Dspell and
  183. the files to be checked.
  184.  
  185. In both cases copy all the file/dictionary support tools
  186. and the ASCII dictionary itself to a separate disk for
  187. editing. It is important to keep as few files as possible
  188. on the DSpell: disk as room is required for the user
  189. dictionary and the log file to be saved at the end of a
  190. session, these files can become quite large so be careful.
  191.  
  192.  
  193.  
  194. Hard Disk Users
  195. ~~~~~~~~~~~~~~~
  196. DSpell can be installed anywhere on the hard disk but I
  197. suggest you put it in the SYS:C directory where it can be
  198. called at any time. The files DSPELL.UDCT and DSPELL.DATA
  199. must be placed in a directory and the following assignment
  200. made in either your startup-sequence or from the CLI:
  201.  
  202.     Assign DSpell: <path>:<directory-name>
  203.  
  204.     for example:
  205.  
  206.     Assign DSpell: DH3:Text.Progs/Spell_Checkers
  207.  
  208.     where the directory Spell_Checkers is a sub-directory
  209.     of Text.Progs on partition DH3:.
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216. ***********************************************************
  217.                        THE PROGRAMMES
  218. ***********************************************************
  219.  
  220.                            DSPELL
  221.                            ~~~~~~
  222. FEATURES
  223. ~~~~~~~~
  224. DSpell has the following features:
  225.  
  226.     1) Fully intuitionised,supporting mouse and keyboard
  227.     input. No menus are used - everything you require is
  228.     available with a single mouse click or key press.
  229.  
  230.     2) A fifteen line display of your document (45 lines
  231.     in interlace mode), with a moving cursor to allow you
  232.     to see the progress of the checking, and inspect
  233.     errors in context with the rest of the document.
  234.  
  235.     3) Instant editing of suspect words with re-checking
  236.     of replaced words.
  237.  
  238.     4) Ability to replace or ignore suspect words globally
  239.     or singularly.
  240.  
  241.     5) Full Capitalisation checking from both the
  242.     dictionaries and on sentence boundaries.
  243.  
  244.     6) Checking for illegal usage on certain words.
  245.  
  246.     7) Hyphenation Checking for prefixes.
  247.  
  248.     8) Fully user-editable dictionary with its own
  249.     specialised Editing programme.
  250.  
  251.     9) Size of dictionaries and documents limited only by
  252.     disk space and memory
  253.  
  254.  
  255. PREPARATION
  256. ~~~~~~~~~~~
  257. DSpell will only successfully process ASCII files with no
  258. imbedded formatting code (Bold, Underline etc), it is
  259. tolerant of tabs although a highlighted word may appear
  260. out of position in the display. This will not affect the
  261. final document when your corrections are saved to disk.
  262. Amiga codes can also cause unusual display upsets but
  263. normally these are restricted to colour changes.
  264.  
  265. If your document does contain formatting code the results
  266. are unpredictable, anything from simple misplaced
  267. highlighting to the complete display suddenly vanishing.
  268.  
  269. Two tools for checking files for formatting codes and
  270. removing them - Report and Strip - are included on the
  271. disk.
  272.  
  273. Remember the Abort gadget is always active even if
  274. invisible and will return you to the file requester.
  275.  
  276.  
  277. SYNTAX
  278. ~~~~~~
  279.         DSpell [?] [x] [a] [s] [nc] [s line no.]
  280.  
  281. DSpell by itself runs the programme with all defaults in operation, the flags modify these as follows
  282.  
  283.     ?   Brings up a syntax reminder for the rest of the
  284.         flags.
  285.  
  286.     x   Turns off global replacement completely (global
  287.         ignore is always available). This option is in
  288.         effect for the whole of the current spelling
  289.         session.
  290.  
  291.     a   This one for dictionary building buffs. It turns
  292.         off all gadgets except Abort and Save & Exit and
  293.         runs through a file adding every word,
  294.         abbreviation or acronym not in the main dictionary
  295.         to the user dictionary. Floppy users beware - this
  296.         can create enormous files very quickly. This
  297.         option is in effect for the whole of the current
  298.         session.
  299.  
  300.     nc  Turns off all capitalisation checking for the
  301.         whole session.
  302.  
  303.     s   Start checking from the line number set in [line
  304.         no.]. This option is in effect for the first file
  305.         only.
  306.  
  307.  
  308. DSpell is the main spell-checker. Upon booting DSpell
  309. takes some seconds to initialise and load the main
  310. dictionaries. A load 'meter' lets you know how thing are
  311. progressing. Once the dictionaries are loaded you are
  312. presented with a standard file requester. Those of you
  313. familiar with the use of file requesters can skip the next
  314. section, just remember the Delete gadget works!!!
  315.  
  316. The Requester
  317. ~~~~~~~~~~~~~
  318. The file requester was written by Anders Bjerin and is
  319. public domain. In my `umble opinion it is one of the best
  320. requesters I've ever used, better than many you get with
  321. many commercial programmes.
  322.  
  323. Choosing a Path:
  324. ~~~~~~~~~~~~~~~~
  325. Simply click on one of the drive gadgets at the top of the
  326. requester and the contents of that drive  are displayed in
  327. the main area. Directories are at the top and are coloured
  328. yellow, with files below in white. To access a directory
  329. just click on its name. If the drive you require is not
  330. listed, simply type in its name in the Drawer gadget. Next
  331. to the Drawer gadget is a small box with a green `P'
  332. (small joke) in it, this is the `Parent' gadget that
  333. returns you to the previous level in the directory
  334. structure.
  335.  
  336. Choosing a file:
  337. ~~~~~~~~~~~~~~~~
  338. At the top of the requester is a small area labelled Ext:,
  339. entering a file extension here (eg .doc) will limit the
  340. requester to displaying only files with that extension.
  341. Clicking on a file name pastes the file into the File:
  342. gadget, you then click on LOAD to start checking that
  343. file.
  344.                                                           
  345.  
  346. You can also scroll through the list of files with the
  347. scroll gadget to the right. When saving you can edit the
  348. name of the file in the File area to save it under a
  349. different name, or simply click SAVE to overwrite the
  350. existing file. DELETE is a file management option and does
  351. just that, the programme prompts on all dangerous
  352. operations to verify your choice. QUIT will not prompt if
  353. you haven't saved.
  354.  
  355.  
  356. After selecting a file and clicking on LOAD Dspell
  357. immediately starts checking the document.
  358.  
  359. The main display area is split into two parts as follows:
  360.  
  361.  
  362. The Bottom Display
  363. ~~~~~~~~~~~~~~~~~~
  364. The bottom section displays the document being checked so
  365. you can see possible errors in context. This display is
  366. 15/45 lines by 75 characters.
  367.  
  368. The cursor moves through the text so you can watch
  369. progress. When DSpell comes across a word that is not in
  370. the dictionary the word is highlighted and the programme
  371. waits for you to decide how to deal with the word.
  372.  
  373. The display may not accurately reflect the layout of your
  374. document; the programme has been designed to suit
  375. documents prepared for publication (DTP), where the only
  376. carriage returns are at the end of paragraphs; if your
  377. document contains `terminated' lines that are longer than
  378. the display width, the end words will wrap round on to a
  379. line of their own.
  380.  
  381. The Top Display
  382. ~~~~~~~~~~~~~~~
  383. The top section is where all the action occurs. The very
  384. top row contains the Abort gadget, which is active at all
  385. times; a reminder of the file-name being checked, and a
  386. line counter. The line counter is based on the display
  387. width of 72 characters and tells you how far you have got
  388. in the document, make a note of the line number should you
  389. wish to abort spelling in the middle of a document, and
  390. restart at the same place later (see `s' flag). The
  391. file-name reminder area is also used to display alert and
  392. information messages.
  393.  
  394.  
  395. EDITING
  396. ~~~~~~~
  397. DSpell performs multiple checks on any single word as
  398. follows:
  399.  
  400.     1) The word is checked against the main dictionary.
  401.  
  402.     2) If (1) fails the word is checked to see if it is a
  403.     valid plural. Plurals with the forms `s', `es' and
  404.     `ies' are supported. The word is reconstructed into
  405.     its `root' form (i.e. verifies becomes verify and
  406.     re-checked.
  407.  
  408.     3) If this fails the word is checked to see if it ends
  409.     in one of the `LY' forms, a similar reconstruction to
  410.     item 2 takes place (i.e. formally becomes formal) and
  411.     the word is re-checked.
  412.  
  413.     4) If this fails the word is then checked to see if it
  414.     begins with a valid prefix (re, de, pro, under etc) if
  415.     so the prefix is removed and the `root' word is
  416.     re-checked.
  417.  
  418.     5) If all checks fail entirely the word is passed to
  419.     the user.
  420.  
  421. Plural and `ly' checking is very reliable so no record is
  422. kept however prefix checking may pass the odd unusual word
  423. or words where hyphens are needed. These are reported to
  424. the file DSPELL.LOG which should be read after every
  425. session. DSpell creates this file if it does not exist and
  426. backs it up to a file called LAST.LOG if it does. Any
  427. unusual words passed by the programme should be entered
  428. separately in the file DSPELL.BAD and any future
  429. occurrences will be caught by the programme.
  430.       
  431. When DSpell detects an unknown word it is highlighted in
  432. the text and a copy is automatically pasted into the edit
  433. area (the area that appears sunken on the display). The
  434. programme halts while it waits for your decision on what
  435. to do and the programme may also prompt for a certain
  436. course of action to be taken, all such prompts appear in
  437. the file reminder area at the top of the screen.
  438.  
  439. The suspect word is immediately available for editing
  440. using the keyboard, or for other operations using the
  441. mouse. The forward and back arrow keys, the delete and
  442. backspace keys all produce the standard editing effects,
  443. (note the `Right Amiga X' combination is not implemented
  444. to clear the line).
  445.  
  446. Partial line editing is available using the backslash, if
  447. you have the following line in your text -
  448.  
  449.     Roger was unable. to respell his own name
  450.  
  451. The error here is the unwanted full stop and also you
  452. might want `respell' to just read `spell'. Dspell will
  453. stop on the word `to' with an alert message:
  454.  
  455.     Capital Letter Expected.
  456.  
  457. `to' will be automatically capitalised and placed in the
  458. edit area; edit the word to look like this
  459.  
  460.     \\ to \\\
  461.  
  462. the first two backslashes remove the full stop and the
  463. space before the word, note the space after the slashes,
  464. this replaces the removed one. The back three slashes
  465. remove the space after the word and the first two letters
  466. of the following word, again note the space in the
  467. replacement string.
  468.  
  469.  
  470. After any edits have been made to a word the following
  471. options are available (Note that all options refer to the
  472. word in the edit area and not the highlighted word in the
  473. text):
  474.  
  475.  
  476. Save & Exit:
  477. ~~~~~~~~~~~~
  478. Saves any edits made to the file and returns you to the
  479. file-requester.
  480.  
  481. Ignore Once:
  482. ~~~~~~~~~~~~
  483. Skips the occurrence of the suspect word once only. It
  484. will be picked up again the next time it is encountered.
  485.  
  486. Ignore for Rest of File:
  487. ~~~~~~~~~~~~~~~~~~~~~~~~
  488. Skips all occurrences of the unknown word throughout the
  489. text, essential when checking such things as programme
  490. documents where unusual names (e.g. DSpell) occur
  491. frequently in the text. 
  492.  
  493. Add to User Dictionary:
  494. ~~~~~~~~~~~~~~~~~~~~~~~~
  495. If the unknown word is a proper word you can add it to the
  496. user dictionary (DSPELL.UDCT), whether the word is proper
  497. or not is entirely at your discretion. The user dictionary
  498. is an ASCII file that can be loaded directly into the
  499. dictionary editor (DED) for processing prior to inclusion
  500. into the master dictionary. If you have edited the word it
  501. will be replaced in the text and all further occurrences
  502. of that word will be automatically replaced
  503.  
  504. Please be aware that the number of words in the user
  505. dictionary bears a direct relationship to the speed of
  506. programme execution; when the user dictionary contains
  507. more than 150 words a small yellow square appears in the
  508. top right-hand corner of the display to alert you that its
  509. about time to process the dictionary. Here I should add
  510. that DSpell should always be used in conjunction with a
  511. good UK dictionary for accurate double checking.
  512.  
  513. Replace Once:
  514. ~~~~~~~~~~~~
  515. Replaces the highlighted word in the text area with the
  516. current contents of the edit area.
  517.  
  518. Replace In Rest of File:
  519. ~~~~~~~~~~~~~~~~~~~~~~~~~
  520. Replaces the current contents of the edit area into the
  521. text and when DSpell encounters another occurrence of the
  522. misspelling it will automatically replace the word without
  523. prompting, this operation is case sensitive, so DSpell
  524. will treat `Skillful', `skillful' and `SKILLFUL' as
  525. separate misspellings of skilful. Note that this option
  526. can be disabled entirely by using the `x' flag option.
  527.  
  528. In both this option and `Replace Once' the replaced word
  529. is re-checked
  530. before you can continue. This allows for many goes at
  531. getting the word right before resorting to the Guess
  532. Spelling option.
  533.  
  534. NOTE: DSpell is not a word-processor, there is a 38
  535. character limit to the size of your replacement copy to
  536. accommodate words such as floccinaucinihilipilification
  537. and antidisestablishmentarianism, so you could technically
  538. replace a word with a short phrase, but be aware that all
  539. occurrences of that word will be replaced by the phrase.
  540. Such major changes should be done with your normal
  541. word-processor. DSpell will flash the screen if you
  542. attempt to overwrite the limit.
  543.  
  544. Replaced lines that overwrite the display width will
  545. appear truncated with a red arrow to indicate the
  546. overflow.
  547.  
  548. Keyboard Shortcuts
  549. ~~~~~~~~~~~~~~~~~~
  550. Hitting the Return key will emulate the `Ignore Once'
  551. option if no edits have been made to the word and `Replace
  552. Once' if the word has been edited.
  553.  
  554.  
  555. Guess Spelling
  556. ~~~~~~~~~~~~~~
  557. This is activated by the HELP key (situated between the
  558. main and numeric keypads) and opens a small window. The
  559. programme then searches the entire dictionary for possible
  560. words (this may take several seconds, in the case of
  561. prefixed words the dictionary is actually searched twice).
  562. You will be alerted when a prefix search is about to take
  563. place and can abort it by clicking anywhere in the Guess
  564. Spelling window while the alert is visible.
  565.  
  566. If the word to be guessed is a plural or end in one of the
  567. `ly' forms (or both) this alert will appear:
  568.  
  569.     CAUTION! Constructed Words
  570.  
  571. Dspell will have cut the plural from the original and now
  572. attempts to pluralise the words it is searching for.
  573. Occasionally it can make some very odd plurals up! hence
  574. the warning, make sure of your word before replacing.
  575.  
  576.  
  577. The list of possible words is then displayed in the
  578. window, with capitalisation to reflect the word in the
  579. text, words generated with prefixes are displayed last and
  580. in a different colour.  Click on the word you require; the
  581. word is pasted into the edit area; close the Guess
  582. Spelling window using it's close gadget. The word is then
  583. available for further editing or direct replacement into
  584. the text.
  585.  
  586. Note: no other tools are available while the Guess
  587. spelling window is open.
  588.  
  589.  
  590.  
  591.  
  592. OTHER TOPICS
  593. ~~~~~~~~~~~~
  594.  
  595. Funny Words
  596. ~~~~~~~~~~~
  597. During Guess spelling DSpell always looks for the complete
  598. word first, after that it looks for a common prefix
  599. (under,pre, re, over, for example) and cuts it off. It
  600. then looks for the remaining part of the word. For example
  601. you may have mistyped the word underground as:
  602.  
  603.     Undergroind 
  604.  
  605. Dspell fails to find this so cuts off under and searches
  606. for `groind', when it finds a possible match, such as
  607. `ground' it replaces the prefix and displays the word
  608. `underground'. However because the pattern matching is
  609. `blind' it will also provide you with such juicy words as:
  610.  
  611.     Undergrind
  612.     Underbroiled
  613.     Underbroiler
  614.  
  615. These are always placed last in the list and are in a
  616. different colour, `real' words are always displayed in
  617. white, so if all the words in the window are coloured they
  618. have all been `manufactured'.
  619.  
  620. If the word being searched is a plural DSpell will
  621. pluralise all the words in the Guess Spelling window.
  622.  
  623. At the bottom of the window you will see either the word
  624. MORE or the word AGAIN, explained thus:
  625.  
  626.     MORE:  clicking on it brings up another window full of
  627.            possibilities.
  628.  
  629.     AGAIN: you have gone through the whole available list
  630.            and can go back to the beginning.
  631.  
  632. Double Wording
  633. ~~~~~~~~~~~~~~
  634. Dspell automatically checks for occurrences of double
  635. wording providing no characters appear between the two
  636. words, if you completely remove the second word DSpell
  637. automatically attempts to adjust the word spacing to suit,
  638. this is effective in most cases.
  639.  
  640. Capitalisation
  641. ~~~~~~~~~~~~~~
  642. DSpell checks for instances of the first person singular
  643. (I, I've, I'll etc.) and ensures that they are properly
  644. capitalised by stopping with the alert "Capital Letter
  645. Expected", however, say you are checking a programming
  646. file that uses a variable `i' in about 300 places with
  647. white space either side, you will be in for a tough time
  648. as this check overrides the `Ignore For Rest' option, try
  649. the `nc' flag option in the command line.
  650.  
  651. DSpell also checks that the first letter of a new sentence
  652. is a capital. The programme defines the end of a sentence
  653. (EOFS) as being a period(.), an exclamation mark(!) or a
  654. question mark(?). Abbreviations ending in periods i.e.
  655. (that's one) e.g., Dept., Ltd., Approx., etc. (that's
  656. another) are treated as not being EOFS's. You can place
  657. common abbreviations in the file DSPELL.ABS.
  658.  
  659. In the case of trailing dots...
  660.  
  661. ...these can be a `lead-in` or an EOFS, the programme
  662. treats them as being EOFS's to be safe. If they are a
  663. lead-in in your document simply click ignore.
  664.  
  665. DSpell supports full capitalisation checking dependent on
  666. how the words are capitalised in your dictionary. Be
  667. careful here, you will capitalise words such as January
  668. and February of course, but NOT may (as in: may not) and
  669. march (as in: the march of time).
  670.  
  671. Two types of capitalisation are supported. If the word
  672. begins with a capital in the dictionary but not in the
  673. text, you will be prompted for the word to be replaced
  674. with the alert:
  675.  
  676.     Capital Letter Expected!
  677.  
  678. If the second letter is a capital DSpell assumes the whole
  679. word is capitalised, and you will be prompted with the
  680. alert:
  681.  
  682.     All Capitals Expected!
  683.  
  684. In both cases the correctly capitalised word is placed in
  685. the edit area for quick replacement. `Ignore For rest'
  686. will ignore all further occurrences of the word in
  687. lowercase.
  688.  
  689.  
  690.  
  691. Prefixes, Hyphenation and the Log File
  692. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  693. During the course of a spell-checking session the
  694. programme checks words by cutting possible prefixes as
  695. mentioned earlier. Many prefixes can just be cut and the
  696. root word passed, however there are quite a few which will
  697. require hyphenation for clarity. With this type the
  698. programme will stop with the alert message:
  699.  
  700.     Hyphen Suggested!
  701.  
  702. if the last character of the prefix matches the first
  703. character of the root word. For all other cases DSpell
  704. creates a file called DSPELL.LOG into which it writes the
  705. word in question along with its position in the file by
  706. line and word count. NOTE the lines refer to DSpell's 72
  707. character line set-up, you must set your word processor to
  708. this width to accurately trace the word by this method.
  709.  
  710. There is another group of prefixes which nearly always
  711. require hyphens, the programme will always stop at these
  712. with the alert:
  713.  
  714.     Hyphen Usually Required!
  715.  
  716. In both cases when the programme stops, a ready hyphenated
  717. example is placed in the edit area for quick replacement.
  718.  
  719. You can place hyphenated words n the main dictionary in
  720. which case the programme will stop with the message:
  721.  
  722.     Word Requires Hyphenation!
  723.  
  724.  
  725.  
  726. QUITTING DSPELL
  727. ~~~~~~~~~~~~~~~
  728. During the loading of the dictionaries you can leave the
  729. programme by clicking anywhere in the top area otherwise
  730. the QUIT gadget in the file-requester is the only way of
  731. leaving the programme (short of re-booting that is).
  732.  
  733. If during loading of the file to be checked you click in
  734. the upper area you will be returned to the file-requester.
  735.  
  736. When DSpell comes to the end of a document your are
  737. presented with the file-requester again and you can choose
  738. to save or quit. At any other time the Save & Exit or the
  739. Abort gadgets can be used to return to the file-requester.
  740.  
  741.  
  742.  
  743. DICTIONARIES USED
  744. ~~~~~~~~~~~~~~~~~
  745. Every care has been taken to ensure the words in the
  746. dictionary are correct UK English. When in doubt they have
  747. been checked against the following dictionaries: 
  748.  
  749.  
  750. Chambers Concise Dictionary
  751. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  752.    © W & R Chambers Ltd and Cambridge University Press 1988
  753.    ISBN 1-85296-011-6.
  754.  
  755.    This is a good dictionary to have as it contains many
  756.    examples of correct suffix usage.
  757.  
  758. The Oxford Spelling Dictionary
  759. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  760.    © Oxford University Press 1986
  761.    ISBN 0-19-282670-0
  762.  
  763.    A good quick checker - spellings only, no definitions
  764.  
  765. The Concise Oxford Dictionary
  766. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  767.    New Edition for the 1990's
  768.    © Oxford University Press 1964, 1976, 1982, 1990
  769.    ISBN 0-19-861200-1 
  770.  
  771.    The Bible!
  772.  
  773. The Shorter Oxford English Dictionary (two volumes)
  774. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  775.    © Oxford University Press 1973
  776.    ISBN 0-19-861126-9
  777.  
  778.    The Last Word and final arbiter!
  779.                                                                         
  780. Harrap's English Spelling Rules
  781. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  782.    © G. Terry Page 1991
  783.    ISBN 0 245-60144-9
  784.  
  785.    Great little pocket-sized authoritative volume.
  786.  
  787.  
  788.  
  789.  
  790. A Word about Americanisms
  791. ~~~~~~~~~~~~~~~~~~~~~~~~~
  792. There is some confusion and contention over the use of the
  793. suffix `ise' or `ize'. Some maintain that the former is the
  794. only correct English usage and that the latter is an
  795. Americanisation. In fact both are quite legal in UK
  796. English; here is an extract from the Concise Oxford:
  797.  
  798.         The form -ize has been in use in English
  799.         since the 16th c.; it is widely used in
  800.         American English, but is not an American-
  801.         ism. The alternative -ise (reflecting a
  802.         French influence)  is in common use, esp.
  803.         in British English, and is obligatory in
  804.         certain cases......
  805.  
  806. Because of this the supplied dictionary (MAIN044.DCT) uses
  807. the -ise form exclusively. If you wish to change to the
  808. -ize form, use the DED programme only; as some words will
  809. not generate correctly (eg. Realize will not make Realism)
  810. if you use a global replacement option in a word-processor.
  811.  
  812.  
  813.  
  814. ************************************************************
  815.  
  816.                  DED & the Dictionary Tools
  817.                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
  818. ************************************************************
  819.  
  820.  
  821. DED the main dictionary editor
  822. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  823.  
  824. Usage:  DED [dictionary.file] <flags> <pattern>
  825.  
  826. DED will load any ASCII file but the best format is a file
  827. that contains single words; each on a single line, and with
  828. no spaces.
  829.  
  830. DED produces effects upon the words by a system of suffix
  831. flagging. The suffix flags are the characters of the
  832. alphabet and the numerals 1-9. A full description of which
  833. flags produce what would take volumes to write as many
  834. flags double up to produce different effects depending on
  835. the word, an example will serve here and you will soon
  836. learn which flags do what as you use the editor. Here are a
  837. few examples:
  838.  
  839.     Example Word:   register
  840.             
  841.         Flag G      produces    Registering
  842.         Flag S      produces    Registers
  843.         Flag 1      produces    Registered
  844.  
  845.     Example Word:   Geography
  846.  
  847.         Flag Y      produces    Geographic
  848.         Flag H      produces    Geographical
  849.         Flag 5      produces    Geographically
  850.         Flag 6      produces    Geographer
  851.  
  852.     Example Word:   Interregnum
  853.  
  854.         Flag S      produces    Interregna
  855.  
  856. Flags in the dictionary are separated from the root word by
  857. a forward slash `/'.
  858.  
  859. You can see the large saving in file size, apart from the
  860. limited amount of typing that needs to be done.
  861.  
  862. DED Flags
  863. ~~~~~~~~~
  864.    a    for ADD
  865.         This concatenates a full list of all 32 suffix
  866.         flags to every word in the dictionary file. BEWARE!
  867.         This can (correction - this WILL) suddenly make
  868.         small files into very large ones at a stroke. If
  869.         your memory or disk space is limited I suggest you
  870.         work on small subsets of your word list at a time.
  871.         Several tools are provided to help you do this.
  872.  
  873.    n    for NEXT
  874.         Goes directly to the first line in the file that
  875.         has a full list of suffix flags.
  876.  
  877.    s    for SEARCH
  878.         Searches for the first occurrence of the pattern
  879.         set in <pattern>.
  880.         DED uses the UNIX style wildcards in it's pattern
  881.         matching, that is '*' is equivalent to `#?' and
  882.         matches any number of characters, `?' as usual
  883.         matches a single character.
  884.       
  885.  
  886. The suffix flags are effectively ignored in searching, So:
  887.  
  888.       DED MAIN044.DCT s format
  889.  
  890. goes straight to the word `format' in the file MAIN044.DCT
  891.  
  892.       DED NEW.WORDS s *ise/
  893.  
  894. goes straight to the first word ending in `ise' in the file
  895. NEW.WORDS. Note the use of the divider '/' to denote the
  896. actual end of a word. After the first match has been found
  897. pressing RETURN will search out the next match.
  898.  
  899.       DED NEW.WORDS s *s??le/
  900.  
  901. will find possible, missile, fusable etc.
  902.  
  903.       DED NEW.WORDS s */*Y
  904.  
  905. finds all words with the `Y' flag set.
  906.  
  907.  
  908. Function Keys
  909. ~~~~~~~~~~~~~
  910.     F1  Save and Exit.
  911.     F3  Abandon & Exit.
  912.     F5  Delete whole line - CAUTION! Once deleted the
  913.         line is not recoverable without aborting (F3).
  914.     F6  Deletes all suffixes flags but leaves the '/'
  915.         divider.
  916.     F7  Save & Continue.
  917.     F8  Go to he first line of the file.
  918.     F9  Adds a full list of suffix flags regardless of what
  919.         flags have already been set. (Tip: F9 followed by
  920.         ESC for a quick look see).
  921.     F10 Sets a new search pattern from anywhere in the
  922.         file.
  923.  
  924.     ESC Restores a partially edited line (not a deleted
  925.         line).    
  926.  
  927. Prefix Cutting
  928. ~~~~~~~~~~~~~~
  929. As mentioned earlier DSpell uses a system of prefix cutting
  930. when checking words, this means words such as `fix' will
  931. also pass `prefix', `ground' will pass `underground',
  932. `head' will pass `overhead' etc. A small list of the most
  933. common cuttable prefixes is shown on the right side of the
  934. display when you click `Prefixes'; clicking again restores
  935. the gadgets. Refer to earlier in this document for the full
  936. list.
  937.  
  938. Although DSpell passes plurals and `ly' forms `on the fly'
  939. you should still generate them in DED for the benefit of
  940. the other programmes.
  941.  
  942. Double Words
  943. ~~~~~~~~~~~~
  944. Don't worry if a word generates more than once in the
  945. dictionary, all doubles are checked for and ignored by the
  946. data builder DASH described next.
  947.  
  948. Quitting DED
  949. ~~~~~~~~~~~~
  950. The F3 (abandon) and F1 (save & exit) keys are not usable
  951. while DED is searching or loading. The close window gadget,
  952. although hidden is actually there and will abort without
  953. saving at any time.
  954.  
  955. ************************************************************
  956.  
  957.  
  958.  
  959.              DASH & DASH3  The Data Builders
  960.              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  961.  
  962. Usage:   DASH  [dictionary.file]
  963. Usage:   DASH3 [dictionary.file]
  964.  
  965. DASH & DASH2 process the main dictionary file and produce a
  966. file called DSPELL.DATA. This is the dictionary fully
  967. expanded, sorted and tagged in the manner required for
  968. DSpell to read. DSpell will not run with any other file so
  969. do not rename it.
  970.  
  971. DASH3 is the latest implementation and writes only those
  972. words to disk that DSpell will require. DASH is included
  973. for anyone with RAM enough and patience enough to load the
  974. full expanded dictionary.
  975.  
  976. Both DASH & DASH3 can take several minutes to process a
  977. file so patience is required.
  978.  
  979. Both programmes report the number of words written to disk.
  980.  
  981. *************************************************************
  982.  
  983.  
  984.                   The Dictionary Tools
  985.                   ~~~~~~~~~~~~~~~~~~~~
  986. Five tools are provided to help in the maintenance of the
  987. dictionary and in processing large files on low memory,
  988. they are:
  989.  
  990.  
  991. DCount
  992. ~~~~~~
  993.       Usage: DCount [dictionary.file]
  994.  
  995. A quick programme that counts all root words and flags in
  996. the dictionary to give you a fair idea of overall size;
  997. DCount does not check for doubles.
  998.  
  999.  
  1000.  
  1001. DChop
  1002. ~~~~~
  1003.       Usage: DChop [in-file] [out-file] [number of lines]
  1004.  
  1005. Suppose you have a file called NEW.WORDS containing 7,000
  1006. new additions to your dictionary (quite possible!), DED
  1007. would take a long time to load such a file and if the `a'
  1008. option is used to add all the flags, its size will be
  1009. enormous . This programme will `chop up' the file into more
  1010. manageable sections.
  1011.  
  1012.       Dchop NEW.WORDS LIST 500
  1013.       
  1014. produces 14 files; LIST1, LIST2, LIST3 etc. of 500 words
  1015. each, much easier to work with.
  1016.  
  1017.  
  1018.  
  1019. DExpand
  1020. ~~~~~~~
  1021.       Usage: DExpand [dictionary.file] [out-file] [pattern]
  1022.  
  1023. This will expand all the words in the dictionary that match
  1024. the pattern. All flags are expanded so do not include them
  1025. in the pattern.
  1026.  
  1027.  
  1028.  
  1029. FlagExp
  1030. ~~~~~~~
  1031.       Usage:
  1032.       FlagExp [dictionary.file] [out-file] [pattern] [flag]
  1033.  
  1034. Expands words from the dictionary that match the pattern
  1035. but will only expand the SINGLE flag in the argument, for
  1036. example:
  1037.  
  1038.       FlagExp MAIN044.DCT TEMP *ise/ G
  1039.  
  1040. will expand enterprising, realising etc. to the file TEMP.
  1041. Note the space between the `/' and the `G'.
  1042.  
  1043.  
  1044.  
  1045. DoubCut
  1046. ~~~~~~~
  1047.       Usage: DoubCut [anyfile]
  1048.  
  1049. Cuts occurrences of double words from any SORTED file. In
  1050. DSpell dictionary files it will cut doubles regardless of
  1051. differences in the suffix flags (works on root words only).
  1052.  
  1053. NOTE: this will only work correctly on sorted files.
  1054.  
  1055. All doubles that are cut are saved to a file called
  1056. DOUBLES.LST.
  1057.  
  1058.  
  1059.  
  1060. RootStrip
  1061. ~~~~~~~~~
  1062.       Usage: RootStrip [dictionary.file] [out-file]
  1063.  
  1064. Cuts all the suffix flags and dividers out of a dictionary
  1065. file and leaves you with a clean list of root words in the
  1066. out-file.
  1067.  
  1068.  
  1069.  
  1070. The AmigaDOS commands JOIN and SORT are also required for a
  1071. typical dictionary editing session, here is a blow-by-blow
  1072. account of such a
  1073. session:
  1074.  
  1075.  
  1076. After DSpell has alerted you to the fact that you have 150
  1077. words ready to process-
  1078.  
  1079.     1   Rename DSPELL.UDCT as NEW.WORDS (or anything).
  1080.  
  1081.     2   Use ED to create a new, empty user dictionary
  1082.  
  1083.             ED DSPELL.UDCT
  1084.  
  1085.         ED will produce a window with the legend `Creating
  1086.         New File' in it, press ESCAPE `x' RETURN in that
  1087.         order to save the new, empty, user dictionary.
  1088.  
  1089.     3   Run DED with the `a' option on the file NEW.WORDS
  1090.  
  1091.     4   Spend the next year processing the 30,000 words
  1092.         you've always meant to see to, but have left to
  1093.         accumulate.
  1094.  
  1095.     5   Manually back-up your current dictionary or copy it
  1096.         to a spare floppy disk (after all accidents can
  1097.         happen).
  1098.  
  1099.     6   Use AmigaDOS to join the dictionaries together
  1100.  
  1101.            JOIN MAIN044.DCT NEW.WORDS as TEMP
  1102.  
  1103.     7   Delete MAIN044.DCT (hence the back-up).
  1104.  
  1105.     8   Use AmigaDOS to sort the new file
  1106.  
  1107.            SORT from TEMP to MAIN044.DCT
  1108.  
  1109.         This can take a few minutes (the ARP sort and join
  1110.         commands are faster and more efficient than
  1111.         AmigaDOS, they are public domain - so check them
  1112.         out!).
  1113.  
  1114.     9   DoubCut MAIN044.DCT, print or use MORE to examine
  1115.         the contents of the file DOUBLES.LST that this
  1116.         produces.
  1117.  
  1118.     10  Use DED in search mode on MAIN044.DCT to check the
  1119.         cut doubles against the dictionary for flag
  1120.         settings.
  1121.  
  1122.     11  Dash3 MAIN044.DCT and away you go!
  1123.  
  1124. *************************************************************
  1125.  
  1126.  
  1127.  
  1128.                       The File Tools
  1129.                       ~~~~~~~~~~~~~~
  1130.  
  1131. Three tools are provided that work on files
  1132.  
  1133.  
  1134.  
  1135. Report
  1136. ~~~~~~
  1137.     Syntax: Report filename
  1138.  
  1139. Runs through a text file looking for non standard
  1140. characters, escape sequences, binary characters etc. and
  1141. reports if any of these are present reports the following:
  1142.  
  1143.         File contains Tabs!
  1144.         File contains Non-Standard Line Ends!
  1145.         File contains Hyphenated Words!
  1146.         File contains Binary Characters!
  1147.         File contains Escape Sequences!
  1148.         File contains WordStar Line Ends!
  1149.  
  1150.     Or
  1151.  
  1152.         File Free from Special Characters!
  1153.  
  1154.  
  1155. Strip
  1156. ~~~~~
  1157.     Syntax: Strip [text-file] (-s -dw -jhw -cur)
  1158.  
  1159. This little prog will process a file ready for DSpell,
  1160. stripping out unwanted code, expanding tabs to spaces and
  1161. modifying line endings. It will also produce other effects
  1162. depending on the flag settings. You should run the
  1163. programme with the -s option to check that it is actually
  1164. doing what you want it to. On a large file, once your
  1165. satisfied abort with Control-C and re-run without the -s
  1166. flag, this is MUCH FASTER.
  1167.  
  1168.     Flags:
  1169.  
  1170.     -s   Strip usually runs with no screen output, however
  1171.          this flag will write everything thats going on to
  1172.          the console.
  1173.  
  1174.     -dw  Strips all white space at the beginning of lines.
  1175.  
  1176.     -jhw Joins hyphenated words (best used in combination
  1177.          with the -dw flag).
  1178.  
  1179.     -cur Cuts all unnecessary returns (allows three max)
  1180.  
  1181.  
  1182. Note that the flags may produce different effects if used
  1183. in combination, feel free to experiment as Strip does not
  1184. touch your original file but creates a new file with the
  1185. extension STP.
  1186.  
  1187.  
  1188. ************************************************************
  1189.  
  1190. I hope you enjoy DSpell and find it useful. Please address
  1191. any suggestions for improvements or bug fixes to:
  1192.  
  1193.       Rod Young
  1194.       24 Furzedown Crescent
  1195.       West Leigh
  1196.       Havant
  1197.       Hants
  1198.       PO9 5SD
  1199.  
  1200. All the programmes were written and compiled using SAS/C
  1201. version 5.10 (formerly Lattice) on an Amiga 2000 with 3 Meg
  1202. of precious Memory.
  1203.  
  1204. I am currently using a dictionary of 56,500+ words of which
  1205. DASH3 writes only 39,000 to disk.
  1206.  
  1207. Cop Out!
  1208. ~~~~~~~~
  1209. I've tried to make these programmes as fool-proof as
  1210. possible, every care has been taken to ensure data
  1211. accuracy, remember always work with, and on copies. Should
  1212. DSpell's little cursor, in its manic haste, decide to break
  1213. out of the window boundaries and crash through the side of
  1214. your new 1084S monitor, career across your desk top,
  1215. upsetting that cold cup of coffee into your very expensive
  1216. laser printer causing all the fuses in your house/office to
  1217. suddenly overload sending massive voltages through the
  1218. mains, and your A3000 blows up spectacularly causing your
  1219. hard disk to go spinning through the plate glass and knock
  1220. out a passing policeman - then I am not to blame!.
  1221.  
  1222.  
  1223.  
  1224.